package org.Yiran.timetale_re.item.tool.screwdriver.modules.type;

import org.Yiran.timetale_re.item.tool.screwdriver.modules.IModule;
import org.Yiran.timetale_re.item.tool.screwdriver.modules.enmu.ModuleCategory;
import org.Yiran.timetale_re.item.tool.screwdriver.modules.enmu.ModuleType;

/**
 * 攻击模块接口
 * <p>
 * 定义攻击模块的通用功能
 * </p>
 */
public interface AttackModule extends IModule {
    
    /**
     * 获取攻击伤害
     *
     * @return 攻击伤害值
     */
    float getAttackDamage();
    
    /**
     * 获取模块类型
     *
     * @return 模块类型
     */
    @Override
    default ModuleType getModuleType() {
        return ModuleType.ATTACK;
    }
    
    /**
     * 获取模块分类
     *
     * @return 模块分类
     */
    @Override
    default ModuleCategory getModuleCategory() {
        return IModule.super.getModuleCategory();
    }
}